// NeLNS - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// Copyright (C) 2010  Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifndef EVA_ZONE_SCENE_FACTORY
#define EVA_ZONE_SCENE_FACTORY

#include <nel/misc/singleton.h>
#include <game_share/object_pool.h>
#include <server_share/msg_struct_zone.h>

#include "scene_home.h"

namespace ZS
{

class  CSceneFactory : public NLMISC::CSingleton<CSceneFactory>
{
public:
	bool init();
	CSceneBase* creator( DEF::SCENE_TYPE scene_type );
	MSG_STR::CZoneService& GetSceneConfig();

private:
	MSG_STR::CZoneService            m_ZoneService;
	NLMISC::CObjectPool<CSceneHome>  m_SceneHomePool;
};

#define SceneFactory CSceneFactory::instance()

}

#endif // SCENE_FACTORY_H

/* End of scene_factory.h */
